
import Head from 'next/head'

<Head>
  <script>
    {
      `(function() {
         var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?e60fb290e204e04c5cb6f79b0ac1e697";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
       })();`
    }
  </script>
</Head>

![LangChain](https://pica.zhimg.com/50/v2-56e8bbb52aa271012541c1fe1ceb11a2_r.gif)


自定义LLM代理（带有ChatModel）
==================================================


本笔记将介绍如何基于聊天模型创建自己的自定义代理。

LLM聊天代理由三个部分组成：

* PromptTemplate：这是用于指示语言模型该做什么的提示模板
* ChatModel：这是驱动代理的语言模型
* `stop`序列：指示LLM在找到此字符串时停止生成
* OutputParser：确定如何将LLM输出解析为AgentAction或AgentFinish对象。

LLMAgent用于代理执行器。这个代理执行器在很大程度上可以看作是一个循环：

1. 将用户输入和任何先前的步骤传递给代理（在这种情况下是LLMAgent）
2. 如果代理返回`AgentFinish`，则将其直接返回给用户。